package com.dfbz.demo02_InputStream;

import java.io.FileInputStream;
import java.io.InputStream;

/**
 * @author lscl
 * @version 1.0
 * @intro:
 *  InputStream的mark/reset方法是留给其他子类的,FileInputStream并不支持这两个方法,因此会出现异常:
 *          Exception in thread "main" java.io.IOException: mark/reset not supported
 */
public class Demo07_输入流的其他用法_mark_rest {
    public static void main(String[] args) throws Exception{


        InputStream is=new FileInputStream("001.txt");


        if(!is.markSupported()){
            is.close();
            System.out.println("对不起，您的流不支持mark操作");
            System.exit(0);
        }

        System.out.println((char)is.read());            // a
        System.out.println((char)is.read());            // b

        /*
        参数是没有意义的,传递什么都行
        在当前指针的位置做个标记
         */
        is.mark(1);

        System.out.println((char)is.read());            // c
        System.out.println((char)is.read());            // d


        // 回到之前做的标记那里
        is.reset();


        System.out.println((char)is.read());            // c
        System.out.println((char)is.read());            // d


        is.close();
    }
}
